package ar.edu.utn.frsf.tpae.a2014.g01.controller.pedidos;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import ar.edu.utn.frsf.tpae.a2014.g01.UsuarioService;
import ar.edu.utn.frsf.tpae.a2014.g01.entidad.Cliente;
import ar.edu.utn.frsf.tpae.a2014.g01.entidad.Transportista;
import ar.edu.utn.frsf.tpae.a2014.g01.entidad.Usuario;

@ManagedBean(name="usuarioBean")
@SessionScoped
public class UsuarioBean implements Serializable {

	private static final long serialVersionUID = 7317856073527172447L;

	@ManagedProperty(value="#{usuarioService}")
	UsuarioService service;

	private String usuario;
	private String password;

	private static Usuario usuarioLogueado;
	
	public String validarUsuario(){
		usuarioLogueado = service.validarUsuario(usuario, password);
		if(usuarioLogueado==null){
			System.out.println("USUARIO NO COINCIDE");
			return null;
		}
		else if(usuarioLogueado instanceof Cliente){
			System.out.println("ES CLIENTE");
			return "PrincipalCliente";
		}
		else if(usuarioLogueado instanceof Transportista){
			System.out.println("ES TRANSPORTISTA");
			return "PrincipalTransportista";
		}
		else{
			System.out.println("ES ADMINISTRADOR");
			return "PrincipalAdministrador";
		}
	}
	
	public String cerrarSesion(){
		FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
		return "CerrarSesion";
	}
	
	public UsuarioService getService() {
		return service;
	}

	public void setService(UsuarioService service) {
		this.service = service;
	}

	public static Usuario getUsuarioLogueado() {
		return usuarioLogueado;
	}

	public String getPassword() {
		return password;
	}
	
	public void setPassword(String password) {
		this.password = password;
	}
	
	public String getUsuario() {
		return usuario;
	}
	
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	
}
